Field
Example aspects described herein relate generally to directing data through a network, and, more specifically, to managing traffic on a network.
Description of the Related Art
In a network including a plurality of devices and intermediate connections, it is often difficult to engineer traffic flow on a communications channel or channels (hereafter referred to as a “tunnel” or “path”) between two or more elements on a network. In this regard, packet traffic is unpredictable, and may change unexpectedly. If traffic is too heavy for the tunnel, the network may become congested and drop packets, whereas if traffic is too light for the tunnel, resources of the tunnel are left unused and therefore wasted.
One conventional technique for addressing such changes is to monitor the tunnel utilization and simply change the “size” of the tunnel (i.e. its bandwidth) at the packet layer in response to changes in traffic patterns. For example, if a tunnel is too small for the amount of traffic it is managing, the size of the tunnel can be enlarged in order to handle the additional traffic.
Nevertheless, addressing traffic flow by simply resizing a tunnel has several drawbacks. In particular, acquiring a tunnel of a size to accommodate the required bandwidth may be impossible or infeasible. For example, a large enough tunnel may not exist, or certain portions of the network may have a limited maximum bandwidth. Moreover, managing traffic at the packet layer can be expensive, since additional logic needs to be implemented at routers and other network elements. In addition, simply enlarging one tunnel at one layer ignores efficiencies that might be available by managing the network more globally.